tg-me.com/pyHints/737
Last Update:
مکالمه چندساعت قبل من و یکی از دوستان نزدیکم :
+ تو روی پروژه "X" کار کردی
- نه، یا اگر هم کار کردم اسمش این نبوده. چطور ؟
+ اومدم یکجا برای همکاری جدید، یک نگاهی کلی به سورس کد پروژه انداختم روی سیستم یکی از نیروها، استانداردهای داکر و ... اش مثل تو هست.
- خب بپرس ببین کی بوده دولوپر قبلی، یا لاگ گیت رو ببین
+ میگن "Y" بوده، میشناسیش ؟
- آره، ۱ سال همکار بودیم.
+ حله، خیالم راحت شد.
من توی کدهام نه maintainer
میزنم، نه چیز دیگه و حتی خیلی وقتا پیش اومده پشت سیستم نیروهام نشستم و کد زدم و مثلاً ۶-۷ ساعت کار اون روز رو با اکانت نیروم commit
زدم.
ولی هیچکس نگفته که فلان روز چرا کار نکردی و یک دلیل ساده هم داره؛
امضای من توی کدهام مشخص هست. هرکسی که بیش از ۳ ماه با من کار کنه میدونه امضای من چطور هست.
بعضی وقتا، حتی کدهای Django
من رو بدون خوندن سورس کد هم شناسایی میکنند.
وقتی پوشه؛ backups
وجود داره و بعد از پرکردن .env
پروژه
و این قضیه که دوستانم امضای من رو توی کد یا پروژه متوجه میشوند واقعاً برام لذت بخش هست.
نمونه Dockerfile
اولیه من برای پروژههای Django
؛ این خیلی ساده هست و بر اساس پروژه تغییر میکنه ولی خب ۸۰-۹۰٪ پروژهها با همین کار در میاد.
FROM python:3.10-slim AS build
WORKDIR /src
COPY requirements.txt .
RUN python -m venv /opt/venv &&\
. /opt/venv/bin/activate &&\
pip3 install --default-timeout=100 -U --upgrade pip &&\
pip3 install --default-timeout=100 -r requirements.txt \
&& find /opt/venv \
\( -type d -a -name test -o -name tests \) \
-o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
-exec rm -rf '{}' +
# RUN stage
FROM python:3.10-slim
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
WORKDIR /src
COPY --from=build /opt/venv /opt/venv
COPY . .
RUN chmod +x ./docker/scripts/entrypoint.sh
CMD ["/src/docker/scripts/entrypoint.sh"]
پیونوشت: این صحبت بهنونه شد برای اینکه نمونه داکرفایل رو بذارم .
BY Python Hints
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/pyHints/737